This application is based upon and claims the benefit of priority from the prior Japanese Patent Application No. 2002-204442, filed Jul. 12, 2002, the entire contents of which are incorporated herein by reference.
1. Field of the Invention
The present invention relates to a nonvolatile semiconductor memory and its test method, and in particular, to a circuit that sets an initial value for a write voltage and an initial value for an erase voltage both of which are used for a nonvolatile semiconductor memory that carries out verify writes and verify erasures, as well as a test method for this circuit. The present invention is applicable to, for example, a NAND type flash memory.
2. Description of the Related Art
A NAND type flash memory, a kind of nonvolatile semiconductor memory, has been published in documents such as xe2x80x9cK. Imamiya et. al. xe2x80x9cA 130-mm2 256-Mb NAND Flash with Shallow Trench Isolation Technologyxe2x80x9d, IEEE J. Solid State Circuits, Vol. 34, pp. 1536-1543, Bov. 1999xe2x80x9d.
For such a nonvolatile semiconductor memory, voltage trimming and the redundancy repair of bad cells are carried out during a wafer test sequence.
FIG. 15 is a flow chart showing schematically a wafer test sequence for a conventional NAND type flash memory.
Description will be given of operations performed during the sequence.
In a DC test, contact checks and DC checks for a standby current or the like are conducted. In Vref (reference voltage) trimming, the reference voltage Vref of each chip on a wafer is monitored. Then, a trimming value is calculated which is required to correct the monitored reference voltages to a target value.
Then, Vpgm (write voltage) initial value trimming is carried out. An incremental step pulse programming scheme is employed for the NAND type flash memory to increase a write voltage Vpgm step by step starting with its initial value. This method is described in, for example, xe2x80x9cK. D. Suh et. al., xe2x80x9cA 3.3 V 32 Mb NAND Flash Memory with Incremental Step Pulse Programming Schemexe2x80x9d, ISSCC Digest of Technical Papers, pp. 128 to 129, February 1995xe2x80x9d.
This write method requires the initial value of Vpgm to be optimized so that a write time (or the number of write loops) does not exceed a predetermined time (the number of times). To achieve this, it is necessary to find a block (good block) in a memory cell array on which a write and erasure can be successfully executed. This is because bad cells have not been subjected to a redundancy repair yet.
When a good block is found, the optimum value is determined by executing a write on this block while varying the initial value of Vpgm.
Subsequently, a phase cut for voltage trimming is carried out. During this step, the wafer is transferred to a laser blow apparatus and a phase cut is executed in accordance with the trimming value determined by the Vref trimming and the Vpgm initial value trimming.
Subsequently, bad columns and rows are detected. In this case, bad columns and rows are detected by writing several data patterns in the memory cell array for a redundancy repair.
Then, a redundancy phase cut is carried out. In this case, the wafer is transferred to the laser blow apparatus again and a phase cut for a redundancy repair is executed.
In this flow chart, the phase cut for voltage trimming is carried out before the detection of bad columns and rows because if the detection of bad columns and rows is executed with incorrect internally generated voltages such as Vpgm, it may be impossible to find defects.
The time required for a wafer test sequence such as the one described above is reflected in the cost of the chip. Accordingly, in order to reduce the chip cost, it is necessary to minimize the test time while conducting required tests.
In the above described wafer test sequence, a factor relating to an increased test time is the presence of the phase cut step. Before carrying out a phase cut using a laser blow, the wafer must be removed from the tester and then transferred to the laser blow apparatus. This results in a temporal overhead. In particular, in the above described wafer test sequence, two phase cuts must be executed. Consequently, the overhead is more marked.
The applicant""s Jpn. Pat. Appln. KOKAI Publication No. 2001-176290 (Jpn. Pat. Appln. No. 11-351396) xe2x80x9cNonvolatile Semiconductor Devicexe2x80x9d describes a method of reducing the time required for the phase cut steps.
Further, the applicant has proposed in Jpn. Pat. Appln. KOKAI Publication No. 2002-117699 (Jpn. Pat. Appln. No. 2000-303854) xe2x80x9cNonvolatile Semiconductor Devicexe2x80x9d that a memory cell array stores information on a trimming value for a write voltage/erase voltage as well as redundancy which information be used for a nonvolatile semiconductor memory is stored in a memory cell array and that when the memory is powered on, the information be retrieved from the memory cell array and stored in a predetermined register, so that when the memory is in a normal operational state, the information on the voltage trimming value and redundancy is stored in this register.
However, in the NAND type flash memory, the initial write or erase voltage is determined on the basis of the results of a test conducted for each chip. Detailed description will be given below of problems with this determination.
FIG. 9 schematically shows a related configuration in order to describe a read/write operation performed by the NAND type flash memory.
In FIG. 9, a memory cell array 11 is composed of NAND cell units arranged in a column direction and a row direction to form a matrix. Each of the NAND cell units is comprised of electrically rewritable nonvolatile memory cells connected in series. Each of the memory cells has a stacked gate type MOS transistor structure in which a control gate and a floating gate are stacked.
The memory cell array 11 is formed on a well area insulated and separated from the other components. To erase data from a memory cell in the memory cell array 11, the following erase method is employed: an erase operation is divided into a plurality of steps so that an erase voltage applied to the well area is increased in increments of a specified value in each step starting with an initial voltage.
The memory cell array 11 is provided with a plurality of word lines and bit lines that cross one another. The plurality of word lines are selectively driven by a decoder output from a row decoder 12.
When data is read, a signal read from a memory cell in the memory cell array 11 is supplied to a page buffer 13 via a bit line. The signal is then sensed in the page buffer 13, and then outputted in unit of column to equipment located outside the chip.
When data is written, a voltage corresponding to externally supplied write data is supplied to a bit line via a page buffer 13 and the data is then written in a selected memory cell.
Word lines in the memory cell array 11 connect a plurality of NAND cell units together. The plurality of NAND cell units constitute a cell block, the minimum unit for a data erasure. A plurality of cell blocks are arranged via common bit lines.
The range of memory cells selected by one word line is called xe2x80x9cone pagexe2x80x9d. A data write operation is performed on the entire page at a time. For example, write data retained in a data register for 512 bytes is written at a time through a bit line.
FIGS. 10A and 10B show a bias relationship observed when data is written in a memory cell (cell transistor) of the NAND type flash memory.
As shown in FIG. 10A, if write data is xe2x80x9c0xe2x80x9d, a write bias (in this example, 0V) is applied to a well area in a cell transistor. Such a cell transistor to which the write bias is applied has a threshold being shifted to the positive side because electrons are injected into a floating gate (writes are carried out).
As shown in FIG. 10B, if write data is xe2x80x9c1xe2x80x9d, a write bias is not applied to a well area in a cell transistor, to establish a floating state. Such a cell transistor to which the write bias is not applied maintains a low threshold because no electrons are injected into a floating gate (no writes are carried out).
FIG. 11 shows a bias relationship observed in a memory cell unit when a read is executed on the NAND type flash memory.
A voltage of 0 V is applied to a selected word line (in the present example, WL14). A read voltage Vread is applied to unselected word lines (in the present example, WL0 to WL13 and WL15), a gate line SGD for selected gate transistors on a bit line (BL) side, and to a gate line SGS for selected gate transistor on a common source line (SL) side. In this case, it is necessary to turn on the cell transistors for which the read voltage Vread is applied to their unselected word lines (in the present example, WL0 to WL13 and WL15) and the selected gate transistors for which the read voltage Vread is applied to their gate lines.
To achieve this, a threshold for a cell transistor with a data xe2x80x9c0xe2x80x9d status (written status) must lie between a selected word line voltage (0 V) and an unselected word line voltage (Vread) with a sufficient margin. However, the write characteristic of the cell transistor varies among lots, wafers, chips, and cells within the same chip.
FIG. 12 shows a variation in the threshold for a cell transistor after a write in the case in which an appropriate write bias is applied to the whole chip of the NAND type flash memory. This figure indicates that after a write, the threshold for the cell transistor does not lie between 0 V and Vread with a sufficient margin.
To avoid this situation, a variation in threshold after a write is minimized by using a method called a xe2x80x9cverify writexe2x80x9d in which when a write is executed on the memory, a write operation and a verify operation are repeated until the verification succeeds.
FIGS. 13 and 14 show a variation in write bias observed when a verify write is executed on the NAND type flash memory.
In the verify write, as shown in FIG. 13, while writes and verifications are being repeated, the write bias (word line voltage) is gradually increased every time a write is carried out. If a write has been executed on any cell at a voltage higher than the verify voltage, then during the next write, the write bias is not applied to this cell.
When the above described verify write is carried out during a test on a nonvolatile memory, the distribution of thresholds obtained after a write is narrow if the write is started with a sufficiently low write bias. However, if the write is started with too low a voltage, a write operation must be repeated a large number of times. This may degrade write performance.
To set the voltage (initial value) with which a verify write is started, it is necessary to set an initial value for the write voltage for each chip or a smaller unit so that the write is finished after a target number of operations because the write characteristic of the memory cell varies among chips as described previously.
However, in the related art, the initial voltage for a verify write or verify erasure is determined on the basis of the results of a test on one write or erase unit. Thus, the initial voltage is not always obtained from a group of memory cells exhibiting a typical write or erase characteristic. Therefore, disadvantageously, the trimming value is inappropriate for the initial voltage.
According to an aspect of the present invention, there is provided a nonvolatile semiconductor memory comprising a memory chip comprising a nonvolatile memory cell array; a write circuit which repeatedly executes a write and a verification on one write unit in the memory cell array to complete a verify write on the write unit; and a write voltage control circuit which changes a write voltage in each write executed repeatedly by the write circuit, the write voltage control circuit comprising: a first binary counter which operates after an initial value for a write voltage has been set, to count a first clock signal supplied every time the verification fails and supply output data to the write circuit as data on a write voltage for each verify write; a first register which stores data for setting the number of writes and verifications on a target write unit; a second binary counter which is reset using a first timing, counts a second clock signal supplied if a verify write executed on the target write unit fails even though the verify write is repeated a number of times set in the first register, and supplies output data to the first binary counter as an initial value for the write voltage; a second register which stores the number of write units used for a test for determining an appropriate value for a write start voltage for the memory chip; an accumulative value storage circuit which is reset using a second timing and stores a value corresponding to an accumulative value for the contents of the second binary counter obtained as a result of the verify write executed on a plurality of write units corresponding to the number of times specified by the second register; and a nonvolatile storage element which stores the appropriate value for the write start voltage for the memory chip in accordance with stored contents of the accumulative value storage circuit and stored contents of the second register.
According to another aspect of the present invention, there is provided a nonvolatile semiconductor memory comprising a memory chip comprising a nonvolatile memory cell array; an erase circuit which repeatedly executes an erase and a verification on one erase unit in the memory cell array to complete a verify erase on the erase unit; and an erase voltage control circuit which changes an erase voltage in each erase executed repeatedly by the erase circuit, the erase voltage control circuit comprising: a first binary counter which operates after an initial value for an erase voltage has been set, to count a first clock signal supplied every time the verification fails and supply output data to the erase circuit as data on an erase voltage for each verify erase; a first register which stores data for setting the number of erases and verifications on a target erase unit; a second binary counter which is reset using a first timing, counts a second clock signal supplied if a verify erase executed on the target erase unit fails even though the verify erase is repeated a number of times set in the first register, and supplies output data to the first binary counter as an initial value for the erase voltage; a second register which stores the number of erase units used for a test for determining an appropriate value for an erase start voltage for the memory chip; an accumulative value storage circuit which is reset using a second timing and stores a value corresponding to an accumulative value for the contents of the second binary counter obtained as a result of the verify erase executed on a plurality of erase units corresponding to the number of times specified by the second register; and a nonvolatile storage element which stores the appropriate value for the erase start voltage for the memory chip in accordance with stored contents of the accumulative value storage circuit and stored contents of the second register.
According to a further aspect of the present invention, there is provided a method used in a nonvolatile semiconductor memory comprising an array of memory cells each having a control gate and a floating gate and a write voltage generating circuit for which an initial voltage is determined on the basis of data stored in a register, to increase, in writing data to the memory cell, a write voltage provided to the control gate, in increments of a fixed voltage starting with the initial voltage, in each of a plurality of steps into which a write operation is divided, to obtain a write voltage data reflecting characteristics of each semiconductor chip, the method comprising: setting the number of steps at a predetermined value; carrying out a self-determination test to start a write operation with a certain initial voltage and output xe2x80x9cpassxe2x80x9d or xe2x80x9cfailxe2x80x9d depending on whether or not data has been successfully written in all memory cells in one target write unit; repeating a process of changing data in the register in a direction in which the initial voltage is increased by a fixed value if a result of the self-determination test is xe2x80x9cfailxe2x80x9d and causing the self-determination test to be executed with an initial voltage based on the changed data until the initial voltage based on the changed data reaches a predetermined value; executing on a plurality of write units a process of changing the target write unit after the initial voltage based on the data changed by the repeating of the process reaches the predetermined value and causing the self-determination test and the process repeating to be executed; and determining an average value per write unit on the basis of accumulative data obtained by executing writes on the plurality of write units and setting, in the register, write voltage data reflecting the characteristics of each semiconductor chip.
According to a further aspect of the present invention, there is provided a method used in a nonvolatile semiconductor memory comprising an array of memory cells each having a control gate and a floating gate formed on a well region and an erase voltage generating circuit for which an initial voltage is determined on the basis of data stored in a register, to increase, in writing data to the memory cell, an erase voltage provided to the well region, in increments of a fixed voltage starting with the initial voltage, in each of a plurality of steps into which an erase operation is divided, to obtain an erase voltage data reflecting characteristics of each semiconductor chip, the method comprising: setting the number of steps at a predetermined value; carrying out a self-determination test to start an erase operation with a certain initial voltage and output xe2x80x9cpassxe2x80x9d or xe2x80x9cfailxe2x80x9d depending on whether or not data has been successfully written in all memory cells in one target erase unit; repeating a process of changing data in the register in a direction in which the initial voltage is increased by a fixed value if a result of the self-determination test is xe2x80x9cfailxe2x80x9d and causing the self-determination test to be executed with an initial voltage based on the changed data until the initial voltage based on the changed data reaches a predetermined value; executing on a plurality of erase units a process of changing the target erase unit after the initial voltage based on the data changed by the repeating of the process reaches the predetermined value and causing the self-determination test and the process repeating to be executed; and determining an average value per erase unit on the basis of accumulative data obtained by executing erases on the plurality of erase units and setting, in the register, erase voltage data reflecting the characteristics of each semiconductor chip.